<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
</head>
<body>
<script>


    var o = {a: 1};
    //下面的这个声明和上面的那段代码执行结果是等价的
    //    var o = new Object();
    alert(o);//[object Object]这里的alert方法
    alert(o.toString());
    console.log(o.constructor);//function Object() { [native code] }
    console.log(o.toString());//[object Object]
    console.log([1,2].toString());
    console.log(o.valueOf());
    console.log([1, 2].valueOf());
    console.log(o + 'sky');//[object Object]sky这是因为在进行字符串拼接的时候，默认使用了toString方法
    var a = [1];
    console.log(1 == a);//这里发生了一个隐式转换，a使用了valueOf（）方法
    var b = '1';
    console.log(1 == b);//这里发生了一个隐式转换，b使用了toString（）方法
</script>
</body>
</html>